script_enemy_main {
	let csd		=GetCurrentScriptDirectory;
	let shotData	=csd ~ "shot.txt";
	let imgEy	=csd ~ "img\yosei4.png";
	let imgmh	=csd ~ "img\mh.png";
	let imgmhms	=csd ~ "img\mhms.png";
	let tama	=csd ~ "img\tama.wav";
	let po		=GetArgument[0];
	let free1	=GetArgument[1];
	let free2	=GetArgument[2];
	let free3	=GetArgument[3];
	let dr		=0;
	let drsign	=1;

    @Initialize {
        SetLife(80);
	SetDamageRate(100,100);
	SetScore(1000);
	LoadGraphic(imgEy);
	LoadGraphic(imgmh);
	LoadGraphic(imgmhms);
	LoadUserShotData(shotData);
	SetTexture(imgEy);
	LoadSE(tama);
	TMain;
	}

    @MainLoop {
    	if(GetX<=-94 || GetX>=448){VanishEnemy;}
	if(GetY<=-94 || GetY>=496){VanishEnemy;}
	SetCollisionA(GetX,GetY,16);
	SetCollisionB(GetX,GetY,8);
	SetCollisionA(GetX+24,GetY+12,12);
	SetCollisionB(GetX+24,GetY+12,8);
	SetCollisionA(GetX-24,GetY+12,12);
	SetCollisionB(GetX-24,GetY+12,8);
	yield;
	}

	@DrawLoop
	{
	SetGraphicRect(0,0,64,64);
	SetGraphicAngle(0,0,0);
	SetColor(255,255,255);
	SetTexture(imgmh);
	DrawGraphic(GetX,GetY);
	SetGraphicRect(0,0,64,64);
	SetGraphicAngle(0,0,0);
	SetColor(255,255,255);
	SetTexture(imgmhms);
	DrawGraphic(GetX-24,GetY+12);
	DrawGraphic(GetX+24,GetY+12);
	dr+=drsign;
	if(dr>=0 && dr<=3){SetGraphicRect(0,0,31,31);}
	else if(dr>=4 && dr<=10){SetGraphicRect(32,0,63,31);}
	else {SetGraphicRect(64,0,95,31);}
	if(dr>=10){drsign=-drsign;}
	if(dr<=0){drsign=-drsign;}
	SetGraphicAngle(0,0,0);
	SetColor(255,255,255);
	SetTexture(imgEy);
	DrawGraphic(GetX,GetY);
	}
	@Finalize{
	attributeB();
	}

    task TMain {
        yield;
standBy;
wait(free3);
shotA;
IDOU;
}


sub shotA{
let GATP1=GetGapAngle(GetX-24,GetY+12,GetPlayerX,GetPlayerY);
let GATP2=GetGapAngle(GetX+24,GetY+12,GetPlayerX,GetPlayerY);
let S=2;
loop(5){
let angleA=-60;
while(angleA<61){
CreateShot01(GetX-24,GetY+12,S,angleA+GATP1,46,0);
CreateShot01(GetX+24,GetY+12,S,angleA+GATP2,46,0);
angleA+=10;
}
S+=0.1;
}
}


task IDOU{
loop{
yield;
SetAngle(90);
SetSpeed(2);
}
}

function GetGapAngle(
	let x1,
	let y1,
	let x2,
	let y2
){
	return atan2(y2-y1,x2-x1);
}

    task standBy {
	SetMovePosition02(free1,free2,free3);
        SetInvincibility(free3);
}


function wait(w) {
    loop(w) { yield; }
}
#include_function ".\zako.txt"
}